build: Do not eagerly disable checks on release builds
authorEmmanuele Bassi <ebassi@gnome.org>
Tue, 20 Feb 2018 13:19:31 +0000 (13:19 +0000)
committerEmmanuele Bassi <ebassi@gnome.org>
Tue, 20 Feb 2018 13:22:01 +0000 (13:22 +0000)
Release builds should only disable cast checks, to match what we used
to do back with the Autotools builds.

The Autotools build had an "--enable-debug=no" option, but that was
rarely used; Meson has debug, debugoptimized, release, and plain build
types, but we considered the "release" build types as the old "disable
all debugging code", which is not really accurate.

Disabling assertions and preconditon checks should be left to people
with constrained environments and/or packagers; they are supposed to
use the "plain" build type, and override the CFLAGS themselves.

meson.build

index aa6aaa8d19f17cb2eeaf82d250aa9f7773bcba24..b778b5fa8e53bec5203bc8751e08ca65b0c03626 100644 (file)
@@ -61,15 +61,13 @@ add_project_arguments('-D_GNU_SOURCE', language: 'c')
 
 gtk_debug_cflags = []
 buildtype = get_option('buildtype')
-if buildtype == 'debugoptimized' or buildtype == 'debug'
+if buildtype.startswith('debug')
   gtk_debug_cflags += '-DG_ENABLE_DEBUG'
   if buildtype == 'debug'
     gtk_debug_cflags += '-DG_ENABLE_CONSISTENCY_CHECKS'
-  else
-    gtk_debug_cflags += '-DG_DISABLE_CAST_CHECKS'
   endif
-else
-  gtk_debug_cflags += [ '-DG_DISABLE_ASSERT', '-DG_DISABLE_CAST_CHECKS', '-DG_DISABLE_CHECKS', ]
+elif buildtype == 'release'
+  gtk_debug_cflags += '-DG_DISABLE_CAST_CHECKS'
 endif
 
 add_project_arguments(gtk_debug_cflags, language: 'c')